package com.hckjsec.oa.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hckjsec.common.annotation.Excel;
import com.hckjsec.common.core.domain.BaseEntity;
import com.hckjsec.common.general.ListStringView;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 公司OA法定假期对象 oa_legal_date
 * 
 * @author cyt
 * @date 2021-12-21
 */
public class OaLegalDate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 年度 */
    @Excel(name = "年度")
    private Long legalYear;

    /** 名称 */
    @Excel(name = "名称")
    private String legalName;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 补班日期 */
    @Excel(name = "补班日期")
    private String supply;

    private List<ListStringView> supplyList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setLegalYear(Long legalYear) 
    {
        this.legalYear = legalYear;
    }

    public Long getLegalYear() 
    {
        return legalYear;
    }
    public void setLegalName(String legalName) 
    {
        this.legalName = legalName;
    }

    public String getLegalName() 
    {
        return legalName;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public void setSupply(String supply) 
    {
        this.supply = supply;
    }

    public String getSupply() 
    {
        return supply;
    }

    public List<ListStringView> getSupplyList() {
        return supplyList;
    }

    public void setSupplyList(List<ListStringView> supplyList) {
        this.supplyList = supplyList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptId", getDeptId())
            .append("legalYear", getLegalYear())
            .append("legalName", getLegalName())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("supply", getSupply())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
